#include<stdio.h>
#include<fcntl.h>
#include<unistd.h>
#include<stdlib.h>
#include<signal.h>
#include<sys/types.h>
#include<sys/stat.h>

int main()
{
  daemon(0,0);
  while(1);
  return 0;
}
//模拟实现daemon 守护进程
//int main()
//{
//  umask(0);
//  if(fork()>0)
//  {
//    exit(0);
//  }
//  signal(SIGCHLD,SIG_IGN);
//  setsid();
//  
//  //不是必须的，取消其会话首进程身份，让其没有打开终端的权限
//  //防御性的编程
//  //可选项
//  if(fork()>0)
//  {
//    exit(0);
//  }
//  
//  //设置进程当前路径位为根目录
//  //可选项
//  chdir("/");
//
//  //可选项
//  close(0);
//  int fd=open("/dev/null",O_RDWR);
//  if(fd<0)
//  {
//    return 1;
//  }
//  dup2(fd,1);
//  dup2(fd,2);
//
//  while(1);
//  return 0;
//}
